A controller is a hardware component of a computing device and enables the computing device to communicate with peripheral devices, which can be externally or internally coupled to the computing device. Multiple controllers may be included in the host computing device for various types of buses, such as USB, IEEE 1394, SDIO, and the like. Typically, each controller is statically connected to certain ports provided by the computing device. Peripheral devices may connect to the host computing device through these ports. In this configuration, the port to which a peripheral device is connected determines the controller with which the peripheral device is associated.